﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using TicketsPhone.Domain.Utils;
using TicketsPhone.Entidades;

namespace TicketsPhone.Domain.Entities
{
    public class Turno
    {
        #region Constructores
        public Turno() {
            this.Usuario = new UsuarioRelacional();
            this.Tramite = new TramiteRelacional();
        }

        public Turno(IDataRecord obj)
        {
            this.Usuario = new UsuarioRelacional();
            IdTurno = Convert.ToInt32(obj["IdTurno"]);
            Tramite.IdTramite = Convert.ToInt32(obj["IdTramite"]);
            Usuario.IdUsuario = Convert.ToInt32(obj["IdUsuario"]);
            IdSucursal = Convert.ToInt32(obj["IdSucursal"]);
            FechaSolicitud = Convert.ToDateTime(obj["FechaSolicitud"]);
            IdEstadoTurno = (EstadoTurno) Convert.ToInt32(obj["IdEstadoTurno"]);
            Codigo = Convert.ToString(obj["Codigo"]);
            HoraInicio = new Hora(obj["HoraInicio"].ToString());
            HoraFin = new Hora(obj["HoraFin"].ToString());
        }
        #endregion

        #region Propiedades

        public Int32? IdTurno { get; set; }

        public TramiteRelacional Tramite { get; set; }

        public UsuarioRelacional Usuario { get; set; }

        public Int32? IdSucursal { get; set; }

        public DateTime? FechaSolicitud { get; set; }

        public DateTime? FechaTurno { get; set; }

        public EstadoTurno? IdEstadoTurno { get; set; }

        public string Codigo { get; set; }

        public Hora HoraInicio { get; set; }

        public Hora HoraFin { get; set; }

        public string Comentarios { get; set; }

        #endregion
    }

    public enum EstadoTurno
    { 
        Solicitado=1,
        Aceptado,
        Negado,
        Cerrado,
        EnProceso,
        NoAsistencia
    }
}
